home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 3 / Amiga Tools 3.iso / grafik / raytracing / rayshade-4.0.6.3 / fixes / fix003 < prev    next >
Text File  |  1994-08-09  |  4KB  |  124 lines

  1. From theseas!fs.Princeton.EDU!cek Thu, 18 Feb 93 01:29:30 EET
  2. Received: by kriton.UUCP (V1.16/Amiga)
  3.     id AA00000; Thu, 18 Feb 93 01:29:30 EET
  4. Received: by theseas.ntua.gr with UUCP; Tue, 16 Feb 93 22:35:35 +0200
  5. Received: from mcsun.EU.net by pythia.ics.forth.gr via ITEnet with SMTP;
  6.     id AA06306 (5.65c/FORTH-ICS-3.0-MHS-7.0); Tue, 16 Feb 1993 19:57:19 +0200
  7. Received: by mcsun.EU.net via EUnet
  8.     id AA03390 (5.65b/CWI-2.206); Tue, 16 Feb 1993 18:54:30 +0100
  9. Received: from Princeton.EDU by relay2.UU.NET with SMTP 
  10.     (5.61/UUNET-internet-primary) id AA18025; Tue, 16 Feb 93 12:50:31 -0500
  11. Received: from fs.Princeton.EDU by Princeton.EDU (5.65b/2.95/princeton)
  12.     id AA28216; Tue, 16 Feb 93 12:48:01 -0500
  13. Received: by fs.Princeton.EDU (4.1/1.105)
  14.     id AA23913; Tue, 16 Feb 93 12:47:59 EST
  15. Received: from faui45.informatik.uni-erlangen.de by fs.Princeton.EDU (4.1/1.105)
  16.     id AA23817; Tue, 16 Feb 93 12:47:08 EST
  17. Received: from faui43.informatik.uni-erlangen.de by uni-erlangen.de with SMTP;
  18.     id AA13271 (5.65c-5/7.3r-FAU); Tue, 16 Feb 1993 18:46:47 +0100
  19. Received: by immd4.informatik.uni-erlangen.de;
  20.     id AA14074 (5.65c-5/7.3m-FAU); Tue, 16 Feb 1993 18:46:45 +0100
  21. Message-Id: <199302161746.AA14074@faui43.informatik.uni-erlangen.de>
  22. Date: Tue, 16 Feb 93 18:46:44 MET
  23. X-Mailer: ELM [version 2.3 PL11]
  24. Errors-To: Princeton.EDU!cek
  25. Remailed-Date: Tue Feb 16 12:47:14 EST 1993
  26. From: "Michael Schroeder (Inf4 - hiwi)" <immd4.informatik.uni-erlangen.de!mlschroe>
  27. To: cs.Princeton.EDU!rayshade-users
  28. Subject: x (Grid bug)
  29.  
  30.  
  31. Hello rayshade users,
  32.  
  33. I have found a bug in the grid code. Reproduce by tracing the following
  34. scene:
  35.  
  36. eyep 0 -10 0
  37. lookp 0 0 0
  38. fov 40
  39.  
  40. light 1 directional 2 -1 3 
  41.  
  42. surface red
  43.     diffuse .8 .3 .5
  44.     ambient .8 .3 .5
  45.     specular .8 .3 .5
  46. surface darkiron
  47.     diffuse .4 .6 .8
  48.     ambient .4 .6 .8
  49.  
  50. grid 2 2 2
  51.     box red -1.9 -0.1 -10 1.9 0.1 10
  52.     sphere darkiron 1 0 0 0 scale 2 2 2
  53. end
  54.  
  55. The Problem is that intersect is called with a mindist that is
  56. exactly on the surface of the primitives bounding box. Because
  57. of this the "largest" object in the grid may not be hit.
  58. Apply the patch appended to this mail to fix the problem.
  59.  
  60. Michael.
  61. ---------------------------------------------------------------
  62. Michael Schroeder    mlschroe@faui43.informatik.uni-erlangen.de
  63. main(a){while(a=~getchar())putchar(~a-1/(~(a|32)/13*2-11)*13);}
  64.  
  65.  
  66. *** grid.c.orig    Tue Feb 16 16:12:05 1993
  67. --- grid.c    Tue Feb 16 18:16:48 1993
  68. ***************
  69. *** 207,213 ****
  70.               if (list) {
  71.                   np = nXp;
  72.                       if (CheckVoxel(list,ray,raybounds,
  73. !                         hitlist,counter,offset,maxdist))
  74.                       hit = TRUE;
  75.               }
  76.               x += stepX;
  77. --- 207,213 ----
  78.               if (list) {
  79.                   np = nXp;
  80.                       if (CheckVoxel(list,ray,raybounds,
  81. !                         hitlist,counter,mindist,maxdist))
  82.                       hit = TRUE;
  83.               }
  84.               x += stepX;
  85. ***************
  86. *** 222,228 ****
  87.               if (list) {
  88.                   np = nZp;
  89.                       if (CheckVoxel(list,ray, raybounds,
  90. !                         hitlist,counter,offset,maxdist))
  91.                       hit = TRUE;
  92.               }
  93.               z += stepZ;
  94. --- 222,228 ----
  95.               if (list) {
  96.                   np = nZp;
  97.                       if (CheckVoxel(list,ray, raybounds,
  98. !                         hitlist,counter,mindist,maxdist))
  99.                       hit = TRUE;
  100.               }
  101.               z += stepZ;
  102. ***************
  103. *** 237,243 ****
  104.               if (list) {
  105.                   np = nYp;
  106.                       if (CheckVoxel(list,ray,raybounds,
  107. !                         hitlist,counter,offset,maxdist))
  108.                       hit = TRUE;
  109.               }
  110.               y += stepY;
  111. --- 237,243 ----
  112.               if (list) {
  113.                   np = nYp;
  114.                       if (CheckVoxel(list,ray,raybounds,
  115. !                         hitlist,counter,mindist,maxdist))
  116.                       hit = TRUE;
  117.               }
  118.               y += stepY;
  119.  
  120. ----------
  121. Administrivia: rayshade-request@cs.princeton.edu
  122. Mailing list: rayshade-users@cs.princeton.edu
  123.  
  124.